﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ModuloAdministrativo
{
    public partial class PratoAtualizarForm : Form
    {
        WSsiar.ServicosSIARSoapClient ws = new WSsiar.ServicosSIARSoapClient();
        WSsiar.PratoBean prato;
        List<WSsiar.Prato_Insumo> prato_insumos = new List<WSsiar.Prato_Insumo>();

        public PratoAtualizarForm()
        {
            InitializeComponent();
        }

        public PratoAtualizarForm(string nome, string descricao, double preco, int id, string tipo, string tamanho)
        {
            InitializeComponent();
            prato = ws.PratoBuscar(id);
            tipoCB.Items.Add("Pizza");
            tipoCB.Items.Add("Massa");
            tipoCB.Items.Add("Sanduíche");
            nomeTB.Text = nome;
            descricaoTB.Text = descricao;
            precoTB.Text = preco.ToString();
            tipoCB.SelectedItem = tipo;
            tamanhoTB.Text = tamanho;
            tamanhoTB.Enabled = false;
            atualizarComboBox();
            atualizarListView();
        }

        private void atualizarComboBox()
        {
            insumosCB.Items.Clear();
            insumosCB.Items.AddRange(ws.InsumoListar());
            insumosCB.DisplayMember = "Nome";
            insumosCB.ValueMember = "ID";
        }

        private void atualizarListView()
        {
            WSsiar.PratoInsumoBean[] listainsumos = ws.PratoInsumoBuscar(prato.Id);
            insumosLV.Items.Clear();
            for (int i = 0; i < listainsumos.Length; i++)
            {
                WSsiar.InsumoBean insumo = ws.InsumoBuscar(listainsumos[i].Id_Insumo);
                ListViewItem item = new ListViewItem(insumo.Nome);
                item.SubItems.Add(listainsumos[i].Quantidade.ToString());
                item.SubItems.Add(listainsumos[i].Id.ToString());
                insumosLV.Items.Add(item);
            }
        }

        private void insumosLV_ItemActivate(object sender, EventArgs e)
        {
            ws.PratoInsumoDeletar(int.Parse(insumosLV.FocusedItem.SubItems[2].Text));
            atualizarListView();
        }

        private void salvar_Click(object sender, EventArgs e)
        {
            WSsiar.Prato p = new WSsiar.Prato();
            p.ID = prato.Id;
            p.Nome = nomeTB.Text;
            p.Preco = decimal.Parse(precoTB.Text);
            p.Descricao = descricaoTB.Text;
            p.Tipo = tipoCB.Text;
            ws.PratoAtualizar(p);
        }

        private void excluir_Click(object sender, EventArgs e)
        {
            ws.PratoDeletar(prato.Id);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            WSsiar.InsumoBean insumoSelecionado = (WSsiar.InsumoBean)insumosCB.SelectedItem;
            WSsiar.InsumoBean insumo = ws.InsumoBuscar(insumoSelecionado.ID);
            WSsiar.Prato_Insumo pinsumo = new WSsiar.Prato_Insumo();
            pinsumo.ID_Prato = prato.Id;
            pinsumo.ID_Insumo = insumo.ID;
            pinsumo.Quantidade = int.Parse(quantidadeTB.Text);
            int id = ws.PratoInsumoCadastrar(pinsumo);
            ListViewItem item = new ListViewItem(insumo.Nome);
            item.SubItems.Add(quantidadeTB.Text);
            item.SubItems.Add(id.ToString());
            insumosLV.Items.Add(item);
        }
    }
}
